TCGAbiolinks has provided a few functions to download and prepare data from GDC for analysis. This section starts by explaning the different downloads methods and the SummarizedExperiment object, which is the default data structure used in TCGAbiolinks, followed by some examples.
There are two methods to download GDC data using TCGAbiolinks:
chunks.per.download argument which will split the files into small chunks, for example, if chunks.per.download is equal to 10 we will download only 10 files inside each tar.gz.A SummarizedExperiment object has three main matrices that can be accessed using the SummarizedExperiment package):
colData(data): stores sample information. TCGAbiolinks will add indexed clinical data and subtype information from marker TCGA papers.assay(data): stores molecular datarowRanges(data): stores metadata about the features, including their genomic rangesIn this example we will download gene expression data from legacy database (data aligned against genome of reference hg19) using GDC api method and we will show object data and metadata.
query <- GDCquery(project = "TCGA-GBM",
data.category = "Gene expression",
data.type = "Gene expression quantification",
platform = "Illumina HiSeq",
file.type = "normalized_results",
experimental.strategy = "RNA-Seq",
barcode = c("TCGA-14-0736-02A-01R-2005-01", "TCGA-06-0211-02A-02R-2005-01"),
legacy = TRUE)
GDCdownload(query, method = "api", chunks.per.download = 10)
data <- GDCprepare(query)# Gene expression aligned against hg19.
datatable(as.data.frame(colData(data)),
options = list(scrollX = TRUE, keys = TRUE, pageLength = 5),
rownames = FALSE)# Only first 100 to make render faster
datatable(assay(data)[1:100,],
options = list(scrollX = TRUE, keys = TRUE, pageLength = 5),
rownames = TRUE)rowRanges(data)## GRanges object with 21022 ranges and 3 metadata columns:
## seqnames ranges strand | gene_id
## <Rle> <IRanges> <Rle> | <character>
## A1BG chr19 [58856544, 58864865] - | A1BG
## A2M chr12 [ 9220260, 9268825] - | A2M
## NAT1 chr8 [18027986, 18081198] + | NAT1
## NAT2 chr8 [18248755, 18258728] + | NAT2
## RP11-986E7.7 chr14 [95058395, 95090983] + | RP11-986E7.7
## ... ... ... ... . ...
## FTX chrX [ 73183790, 73513409] - | FTX
## TMED7-TICAM2 chr5 [114914339, 114961858] - | TMED7-TICAM2
## TMED7 chr5 [114949205, 114968689] - | TMED7
## TICAM2 chr5 [114914339, 114961876] - | TICAM2
## SLC25A5-AS1 chrX [118599997, 118603061] - | SLC25A5-AS1
## entrezgene ensembl_gene_id
## <numeric> <character>
## A1BG 1 ENSG00000121410
## A2M 2 ENSG00000175899
## NAT1 9 ENSG00000171428
## NAT2 10 ENSG00000156006
## RP11-986E7.7 12 ENSG00000273259
## ... ... ...
## FTX 100302692 ENSG00000230590
## TMED7-TICAM2 100302736 ENSG00000251201
## TMED7 100302736 ENSG00000134970
## TICAM2 100302736 ENSG00000243414
## SLC25A5-AS1 100303728 ENSG00000224281
## -------
## seqinfo: 24 sequences from an unspecified genome; no seqlengths
In this example we will download gene expression quantification from harmonized database (data aligned against genome of reference hg38) using GDC Data Transfer Tool. Also, it shows the object data and metadata.
# Gene expression aligned against hg38
query <- GDCquery(project = "TCGA-GBM",
data.category = "Transcriptome Profiling",
data.type = "Gene Expression Quantification",
workflow.type = "HTSeq - Counts",
barcode = c("TCGA-14-0736-02A-01R-2005-01", "TCGA-06-0211-02A-02R-2005-01"))
tryCatch(GDCdownload(query, method = "client"),error = function(e)GDCdownload(query))
data <- GDCprepare(query)